Devlog: How this site works

Mini intro

Here I will explain some general structure of the project. I will not discuss games (because it is almost the same as a blog) or some trivial things that are not relevant, but how the project is structured, what I use, why, etc. And since I explained the motivation behind creating a site like this on the homepage, it would be best to now explain how it actually works. Once you understand how the generation works, you can see that with a few small automation scripts I can directly place files from Obsidian as blog posts on my site.

Project structure

.
├── content/
│   ├── blog/
│   │   └── blog.md
│   ├── index.md
│   └── projekti.md
│
├── src/
│   ├── blog.rs
│   ├── main.rs
│   ├── models.rs
│   └── utils.rs
├── static/
│   ├── blog/
│   ├── favicon/
│   └── style.css
└── templates/
    ├── 404.html
    ├── blog_list.html
    └── base.html

Content

Inside the content folder there are .md files that are taken and converted into HTML pages. the entire blog folder is viewed, and pages are created dynamically, while everything outside the blog folder is manually added.

SRC

Folder where there are scripts that generate all this, so let's go through what it does:

Static

All static elements such as CSS files, images, favicons, etc. are located here.

Templates

Inside this folder there are page templates. For example, this is the main page template:

<!DOCTYPE html>
<html lang="hr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>LukasWorkshop</title>
    <link rel="icon" type="image/x-icon" href="{{ root_path }}slike/favicon/favicon.ico">
    <link rel="stylesheet" href="{{ root_path }}style.css">
</head>
<body>

<div class="container">
    <header>
        <nav>
            <ul>
                <li><a href="{{ root_path }}index.html">~/main</a></li>
                <li><a href="{{ root_path }}blog.html">~/blog</a></li>
                <li><a href="{{ root_path }}igre.html">~/games</a></li>
                <li><a href="{{ root_path }}projects.html">~/projects</a></li>
            </ul>
        </nav>
    </header>

    <main>
        {{ content | safe }}
    </main>

    <footer>
        <p>Designed and made: Luka Prlić</p>
        <p>Copyright: © 2026. All rights reserved.</p>
    </footer>
</div>

</body>
</html>